* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background-color: #111;
    perspective: 1000px;
    --c-eyeSocket: rgb(41, 104, 217);
    --c-eyeSocket-outer: #02ffff;
    --c-eyeSocket-outer-shadow: transparent;
    --c-eyeSocket-inner: rgb(35, 22, 140);
}

.filter {
    width: 100%;
    height: 100%;
    filter: url('#filter');
}

.eyeSocket,
.filter .eyeSocket {
    position: absolute;
    left: calc(50% - 75px);
    top: calc(50% - 75px);
    width: 150px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 4px solid var(--c-eyeSocket);
    box-shadow: 0px 0px 50px var(--c-eyeSocket-outer-shadow);
    transition: border 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
    z-index: 1;
}

.filter .eyeSocket {
    opacity: 0;
    left: calc(50% - 92px);
    top: calc(50% - 92px);
    transition: all 0.5s ease-in-out;
}

.eyeSocket::before,
.eyeSocket::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    transition: all 0.5s ease-in-out;
    box-sizing: border-box;
}

.eyeSocket::before {
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    border: 6px solid var(--c-eyeSocket-outer);
}

.eyeSocket::after {
    width: 100%;
    height: 100%;
    border: 4px solid var(--c-eyeSocket-inner);
    box-shadow: inset 0px 0px 30px var(--c-eyeSocket-inner);
}

#eyeball {
    width: 100%;
    height: 100%;
}

.eyeSocketSleeping {
    animation: sleeping 6s infinite;
}

.eyeSocketLooking {
    animation: lookAround 2.5s;
}

@keyframes sleeping {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes lookAround {
    0% {
        transform: translateX(0) rotateY(0);
    }

    10% {
        transform: translateX(0) rotateY(0);
    }

    40% {
        transform: translateX(-70px) rotateY(-30deg);
    }

    80% {
        transform: translateX(70px) rotateY(30deg);
    }

    100% {
        transform: translateX(0) rotateY(0);
    }
}